left join hk
02.09.2019 - 02:55
Left join ile solda kalan tablodaki null değerler de alınır mı?
15
Görüntülenme
0 Beğeni
Evet ama bir parantez açarak söylemeliyiz ki solda bulunan tüm değerleri getirir LEFT JOIN. Null eğer bu sorunuzda dediğiniz gibi bir değer olarak bulunuyorsa tabi ki o da sorgunuzda gelecektir.
LEFT JOIN in sağında tanımlanan tablo değeri bulunsa bile eğer LEFT JOIN in solunda buna karşılık gelen diğer tablo kaydı silinmişse, sorgu bu satır/satırları getiremez. Buna karşın LEFT JOIN in solundaki tablo değeri kaydı varken buna karşılık gelen LEFT JOIN in sağındaki tablo değeri karşılığındaki kayıt silinmişse, bu satır/satırlar gelir ve sağdaki değerlerin yerini default olarak ayarlanmış NULL değeri alır. (Başka bir değer belirlenmişse örneğin 0 gibi sıfır gibi otomatik olarak bunlar da gelebilir)
Solda bulunan tablonun bütün kayıtları getirilir, null dahil.
TABLOLARI BIRLESTIRMEK (INNER JOIN , LEFT JOIN , RIGHT JOIN) : Veritabanının kullanım amacı ilişkili tabloları ve tablolar içindeki kayıtlar ile ilişkili kayıtları depolamak olduğunu söylemiştik. Birden fazla tablo birleştirerek işlem yapmak için JOIN komutunu kullanırız. Böylece tabloların birleşimi , kesişimi ve farkı gibi küme işlemlerini JOIN komutuyla kolayca gerçekleştirebiliriz.
SELECT kat_id, kat_adi , urun_adi , urun_id FROM kate INNER JOIN urun ON kat_id = urun_kat_id; İki tablonun da eşleşen verilerini gösterir.
SELECT kat_id, kat_adi , urun_adi , urun_id FROM kate LEFT JOIN urun ON kat_id = urun_kat_id; Soldaki tablonun tüm verileri ekrana yazılır eşleşme olmayanlara ise NULL değeri alır.
SELECT kat_id, kat_adi , urun_adi , urun_id FROM kate RIGHT JOIN urun ON kat_id = urun_kat_id; Sağdaki tablonun tüm verileri ekrana yazılır eşleşme olmayanlara ise NULL değeri alır.
soldaki tablonun satırları null olsa dahi alınır.
evet soldaki tbloda tüm kayıtlar getirilir